/*
 * @Description  : Watchdog service task
 * @Version      : 0.1
 * @Company      : V-Think Development Team
 * @Author       : GitHub Copilot
 * @Date         : 2025-09-29 15:30:00
 */
#ifndef _APP_WATCHDOG_H_
#define _APP_WATCHDOG_H_

#include <xCommon.h>

#define WATCHDOG_REFRESH_MS      1000U
#define WATCHDOG_HEARTBEAT_TTL_MS 3000U

typedef enum
{
	WATCHDOG_SRC_PERIPH = 0,
	WATCHDOG_SRC_MODBUS,
	WATCHDOG_SRC_PHASE_FOLLOW,
	WATCHDOG_SRC_COUNT
} WatchdogSource_t;

extern TaskHandle_t watchdogTaskHandle;
void watchdogTask(void *pvParameters);
void watchdogReport(WatchdogSource_t source);

#endif
